package com.liuwa.knowledge.service;

import com.liuwa.common.core.service.CurdService;
import com.liuwa.knowledge.dao.UserDao;
import com.liuwa.knowledge.domain.User;

import java.math.BigDecimal;


/**
 * 用户Service接口
 * 
 * @author liuwa
 * @date 2023-12-12 16:00:20
 */
public interface UserService extends CurdService<Long, UserDao, User>{

    /**
     * 通过用户名获取用户信息
     * @param username
     * @return
     */
    User findByUsername(String username);

    /**
     * 通过手机号获取用户信息
     * @param phone
     * @return
     */
    User findByPhone(String phone);

    /**
     *  更新密码
     * @param user
     */
    void updatePassword(User user);

    /**
     * 更新手机号
     * @param userId
     * @param phone
     */
    void changePhone(Long userId, String phone);




    /**
     * 拉黑
     * @param userId
     */
    void block(Long userId);

    /**
     * 拉黑 还原
     * @param userId
     */
    void unblock(Long userId);


    /**
     * 授权注册
     * @param openId
     * @Param platform
     * @return
     */
    User authRegister(String openId, String platform);




}
